SFINAE
From cppreference.com
Short for "substitution failure is not an error".
This rule applies during overload resolution of function templates: When substituting the deduced type for the template parameter fails, the specialization is discarded from the overload set instead of causing a compile error.
The standard library component std::enable_if allows for creating a substitution failure in order to enable or disable particular overloads based on a condition evaluated at compile time.
| This section is incomplete Reason: actual content needed, see 14.8.2, also breakdown by type and n2634 |